#include "mainwindow.h"
#include "ui_mainwindow.h"

#include "chart_data.h"

chart_data *chart2 ;
chart_data *chart3 ;

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);


    //创建图表
    chart2 = new chart_data(ui->tab);
    chart2->set_axisY_name("value1");
    chart2->set_title_name("测试标题1");
    //添加布局到tab
//    ui->tab->setLayout(chart2->vlayout);

    //创建图表
    chart3 = new chart_data(ui->tab);
    chart3->set_axisY_name("value2");
    chart3->set_title_name("测试标题2");
    //添加布局到tab
//    ui->tab->setLayout(chart3->vlayout);

    // 为tab创建一个主垂直布局
    QVBoxLayout *tab1_v_layout = new QVBoxLayout(ui->tab);
    tab1_v_layout->addLayout(chart2->vlayout);
    tab1_v_layout->addLayout(chart3->vlayout);

    ui->tab->setLayout(tab1_v_layout);


    // 初始化模拟数据定时器
    QTimer *timer = new QTimer(this);
    connect(timer, &QTimer::timeout, [this]()
    {
        static float time = 0;
        time += 0.1;
        float speed = 50 + 30 * sin(time);            // 模拟正弦波速度
        float targetSpeed = 60 + 20 * cos(time * 0.5); // 模拟余弦波目标速度


        chart2->append_data(speed);  // 更新图表数据
        chart3->append_data(targetSpeed);  // 更新图表数据

    });
    timer->start(10); // 每10毫秒更新一次

}

MainWindow::~MainWindow()
{
    delete ui;
}

